Situation aware personal assistant

ABSTRACT

Methods, systems, apparatuses, and computer program products are provided for altering the behavior of an electronic personal assistant based on a situation associated with a mobile device. A situation is sensed with a plurality of sensors to generate sensor data. A situation score is calculated based on the sensor data. Behavior of an electronic personal assistant is altered based on the calculated situation score. In one aspect, the situation is a driving situation in which a driver drives a vehicle on a roadway. In such case, a driving situation score is calculated based on the sensor data, and behavior of the electronic personal assistant is altered based on the calculated driving situation score, such as suspending interactions by the electronic personal assistant with the driver to avoid the driver being distracted.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of allowed U.S. application Ser. No.15/192,880, filed on Jun. 24, 2016, titled “Situation Aware PersonalAssistant,” which is incorporated by reference herein in its entirety.

BACKGROUND

An “electronic personal assistant” or “intelligent personal assistant”is an application that executes in a user device, such as a mobilephone, that a user can interact with. The user may speak to theelectronic personal assistant, and the electronic personal assistant mayresponse by speech to the user. An electronic personal assistant isconfigured to provide general assistance by handling user requests, suchas requests to perform tasks and/or services. For instance, anelectronic personal assistant may be configured to answer questions,make recommendations, and/or perform actions. The electronic personalassistant may further be configured to speak up on its own to provideinformation to the user based on prior instructions from the user, alocation of the mobile device, etc. However, in any case, speaking tothe user during situations where the user needs to concentrate on atask, such as driving, may be distracting and even possibly dangerous tothe user.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Methods, systems, apparatuses, and computer program products areprovided for altering the behavior of an electronic personal assistantbased on a situation. A situation is sensed with a plurality of sensorsto generate sensor data. A situation score is calculated based on thesensor data. Behavior of an electronic personal assistant is alteredbased on the calculated situation score. In one aspect, the situation isa driving situation in which a driver drives a vehicle on a roadway. Insuch case, a driving situation score is calculated based on the sensordata, and the behavior of the electronic personal assistant is alteredbased on the calculated driving situation score, such as suspendinginteractions by the electronic personal assistant with the driver toavoid the driver being distracted.

Further features and advantages of the invention, as well as thestructure and operation of various embodiments of the invention, aredescribed in detail below with reference to the accompanying drawings.It is noted that the invention is not limited to the specificembodiments described herein. Such embodiments are presented herein forillustrative purposes only. Additional embodiments will be apparent topersons skilled in the relevant art(s) based on the teachings containedherein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate embodiments of the present applicationand, together with the description, further serve to explain theprinciples of the embodiments and to enable a person skilled in thepertinent art to make and use the embodiments.

FIG. 1 shows a block diagram of a situation aware system where sensordata is received and processed by a situation monitor to modify behaviorof an electronic personal assistant, according to an example embodiment.

FIG. 2 shows a flowchart providing a process for altering the behaviorof an electronic personal assistant based on a situation, according toan example embodiment.

FIG. 3 shows a block diagram of the situation aware system of FIG. 1implemented in a vehicle to prevent an electronic personal assistantfrom distracting a driver, according to an example embodiment.

FIG. 4 shows a block diagram of a vehicle-based situation aware systemimplemented in vehicle electronics, according to an example embodiment.

FIG. 5 shows a block diagram of a vehicle-based situation aware systemimplemented partially in vehicle electronics and partially in a mobileuser device, according to an example embodiment.

FIG. 6 shows a block diagram of a vehicle-based situation aware systemimplemented in a mobile user device, according to an example embodiment.

FIG. 7 shows a flowchart providing a process for altering the behaviorof an electronic personal assistant in a vehicle based on sensing adriving situation, according to an example embodiment.

FIG. 8 shows a block diagram of a plurality of sensors for sensingaspects associated with a driving vehicle, according to an exampleembodiment.

FIG. 9 shows a flowchart providing a process for sensing aspectsassociated with a driving vehicle, according to an example embodiment.

FIG. 10 shows a block diagram of a situation monitor, according to anexample embodiment.

FIG. 11 shows another block diagram of a situation aware system,according to an example embodiment.

FIG. 12 shows a flowchart providing a process in a vehicle forsuspending and resuming interactions by an electronic personal assistantwith a driver based on sensed conditions, according to an exampleembodiment.

FIG. 13 shows a process for altering behavior of an electronic personalassistant, according to an example embodiment.

FIG. 14 shows a block diagram of an example computing device that may beused to implement embodiments.

The features and advantages of the present invention will become moreapparent from the detailed description set forth below when taken inconjunction with the drawings, in which like reference charactersidentify corresponding elements throughout. In the drawings, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements. The drawing in which an elementfirst appears is indicated by the leftmost digit(s) in the correspondingreference number.

DETAILED DESCRIPTION I. Introduction

The present specification and accompanying drawings disclose one or moreembodiments that incorporate the features of the present invention. Thescope of the present invention is not limited to the disclosedembodiments. The disclosed embodiments merely exemplify the presentinvention, and modified versions of the disclosed embodiments are alsoencompassed by the present invention. Embodiments of the presentinvention are defined by the claims appended hereto.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to effect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

In the discussion, unless otherwise stated, adjectives such as“substantially” and “about” modifying a condition or relationshipcharacteristic of a feature or features of an embodiment of thedisclosure, are understood to mean that the condition or characteristicis defined to within tolerances that are acceptable for operation of theembodiment for an application for which it is intended.

Numerous exemplary embodiments are described as follows. It is notedthat any section/subsection headings provided herein are not intended tobe limiting. Embodiments are described throughout this document, and anytype of embodiment may be included under any section/subsection.Furthermore, embodiments disclosed in any section/subsection may becombined with any other embodiments described in the samesection/subsection and/or a different section/subsection in any manner

II. Example Embodiments for Bucketing Test Failures

An electronic personal assistant is an application that executes in auser device, such as a mobile phone, that a user can interact with. Theuser may speak to the electronic personal assistant, and the electronicpersonal assistant may reply with speech to the user. An electronicpersonal assistant may be configured to provide general assistance byhandling user requests, such as requests for information, or to performtasks and/or services. For instance, an electronic personal assistantmay be configured to answer questions, make recommendations, and/orperform actions. The electronic personal assistant may respond directlyto a user request, and/or may speak up on its own to provide informationto the user based on a variety of factors, including prior instructions,a location of the mobile device, etc. Numerous electronic personalassistants are available in the marketplace, including Siri® provided byApple Inc. of Cupertino, Calif., Google Now™ provided by Google, Inc. ofMountain View, Calif., Amazon Echo™ provided by Amazon.com, Inc. ofSeattle, Wash., and Cortana™ provided by Microsoft Corporation ofRedmond, Wash.

During normal operation, an electronic personal assistant may beactivated to communicate or otherwise interact with a user. However,there may be instances where it may be desirable for the electronicpersonal assistant to alter its behavior, diverging from normaloperation. For instance, in conventional driving situations, where adriver of a vehicle (e.g., a driver of a car or truck, a pilot of anaircraft) interacts with an electronic personal assistant, a driver'sspoken request to an electronic personal assistant is processedimmediately. This is in part because the electronic personal assistantlacks awareness of its surroundings. However, it may be undesirable foran electronic personal assistant to speak to the driver while the driveris driving, particularly under adverse conditions. This is because thevoice of the electronic personal assistant may be distracting andtherefore dangerous to the user and any other occupants of the vehicle.

Accordingly, in embodiments, the behavior of an electronic personalassistant is altered based on a situation associated with a mobiledevice. In embodiments, a situation is sensed with a plurality ofsensors to generate sensor data. A situation score is calculated basedon the sensor data. Behavior of an electronic personal assistant isaltered based on the calculated situation score.

For example, in the case of a driving situation, researchers have foundthat when a driver interacts with Siri®, the driver is distracted andthe driver's distracted state lingers over twenty seconds after theinteraction ends. Furthermore, it has been observed that cell phoneusage in cars increases the automobile accident rate, but having apassenger in a car decreases the accident rate. One explanation forthese observations is that a human passenger modulates their speech,resulting in a conversation pattern that does not compete for thedriver's attention during critical times.

In one embodiment, how/when an electronic personal assistant speaks in avehicle, not the actual words used by the electronic personal assistant,is altered, such as to resemble the speech pattern of a passenger.

In such a vehicle embodiment, data regarding the driving situation maybe captured in various ways, such as by sensors on the vehicle (e.g.,cameras, RADAR, SONAR, and/or LIDAR (light detection and ranging)) todetermine the location and movement of other vehicles nearby and roadobjects, a video camera trained on the driver and/or other sensors toestimate the driver's stress level, real-time vehicle kinematicsmeasurements to determine abrupt acceleration and deceleration, and/orsensors configured to detect local weather conditions such as fog, rain,snow, etc., which develop situation awareness about the immediatesurroundings. A level of local awareness provided by such sensing issimilar to what an attentive passenger might achieve.

Accordingly, an electronic personal assistant may be caused to wait tointeract with the driver (e.g., reply to the driver or initiateconversation) when it is unsafe to distract the driver because one ormore of the following conditions exist: loud ambient noise, intense andquickly changing traffic and/or road conditions, the driver's transientnegative emotional state (e.g., sudden stress or confusion), an abruptchange in car velocity, and/or a variety of further conditions.

In a driving situation, when responding to a user's request (driver orpassenger), in speech or text, the electronic personal assistant may beconfigured to suspend interacting (e.g., stop speaking) and to waituntil the situation is acceptably calm before resuming In an embodiment,a flag may be generated that indicates a speak-or-wait status for theelectronic personal assistant. By appropriately delaying the response,the electronic personal assistant does not add to further confusion andclutter faced by the driver.

In another embodiment, the electronic personal assistant may provideproactive assistance to the driver. By processing sensor data asdescribed above, a future potential negative situation for the drivermay be predicted, and the driver may be warned in advance by theelectronic personal assistant. For example, by sensing the movement of anearby car, the trajectory of the car can be predicted and theelectronic personal assistant can warn the driver if collision ispossible.

In addition to providing guidance to avoid traffic accidents, theelectronic personal assistant can combine the information obtained fromthe state of the car, current car location, and the driver's personalinformation such as the driver's upcoming appointments and events toadvise future planning For example, if the vehicle is low on fuel, theelectronic personal assistant can suggest a convenient gas station basedon the current location, the traffic condition, and the driver'sschedule.

Accordingly, in a driving situation embodiment, a situation aware systemis configured to estimate a cognitive demand imposed on a driver by thelocal driving situation, and based on the output value of the situationaware system, the speech user interface of the electronic personalassistant is modified. For example, busy traffic with aggressive andabrupt driving behavior by other drivers claims the full attention ofthe driver. In such situations, the speech interface the electronicpersonal assistant may be configured to wait until the cognitiveworkload demanded by the driving task eases before resuming interactionwith the driver.

In an embodiment, an electronic personal assistant's user interface maybe modified to incorporate the surrounding traffic condition in adriving situation aware (DSA) system. The DSA system may be configuredto use multi-dimensional regression algorithms, such as support vectormachine, regression tree, deep neural network, or general model thattake in account various sensed conditions, including: (a) the driver'sspeech pattern (e.g., long pauses or halted, incomplete sentence mightindicate busy traffic situation), (b) the driver's facial expression(e.g., a stressed or tense facial expression might indicate busytraffic), (c) the driver's driving behavior (e.g., abrupt steering oracceleration and deceleration might indicate avoidance maneuver), (d)sensor signals (e.g., using available signals from car sensors includingradar, video cameras, sonar, IR (infrared) camera, inertial navigationsystem, LIDAR, etc.), and/or (e) any other sensed conditions.

Embodiments may be implemented in various ways. For instance, FIG. 1shows a block diagram of a situation aware system 100 where sensor datais processed to modify behavior of an electronic personal assistant,according to an example embodiment. As shown in FIG. 1 , system 100includes first-third sensors 102A-102C, a situation monitor 104, and anelectronic personal assistant 106. System 100 is described as followswith respect to FIG. 2 . FIG. 2 shows a flowchart 200 providing aprocess for altering the behavior of an electronic personal assistantbased on sensing a situation, according to an example embodiment. System100 may perform flowchart 200 in an embodiment.

Flowchart 200 begins with step 202. In step 202, a situation is sensedwith a plurality of sensors to generate sensor data. As shown in FIG. 2, sensors 102A-102C may be configured to sense aspects of a situation.The sensed situation may be any situation taking place in an environmentthat includes a mobile device or other computing device that includes anelectronic personal assistant in use by a user. Example applicablesituations include driving situations, flying situations (e.g., a pilotin an aircraft), boating situations, workplace situations (e.g., a userseated at a desktop computer, a user operating machinery, etc.), walkingsituations (e.g., a user carrying a mobile device on a walk), exercisingsituations (e.g., a user carrying a mobile device on a run, in a gym,while hiking or climbing), etc.

Sensors 102A-102C are each sensor devices of a same or different type.Three sensors 102A-102C are shown in FIG. 1 for ease of illustration,but in embodiments, any number of sensors may be present in system 100,including tens, hundreds, or even greater numbers of sensors. Examplesof sensors 102A-102C include pressure sensors (e.g., air pressure, waterpressure), temperature sensors (e.g., home or other buildingtemperature, human body temperature, engine temperature, environmentaltemperature), ultrasonic sensors, humidity sensors, gas sensors, lightsensors, PIR (passive infrared) sensors, noise sensors, accelerationsensors, motion sensors, displacement sensors, biometric sensors (e.g.,fingerprint sensor, heart beat sensor, blood pressure sensor, retinasensor, facial recognition sensor, voice sensor), etc. Sensors 102A-102Care each configured to generate an electrical signal indicative of asensed condition (e.g., temperature, pressure, humidity, etc.), shown assensor data 110A-110C, respectively. Sensors 102A-102C may generatesensor data 110A-110C in any form, including as an analog electricalsignal, a digital electrical signal (e.g., carrying data in the form ofelectrical highs and lows), etc., and may provide sensor data 110A-110Cin a wireless or wired fashion to situation monitor 104.

In step 204, a situation score is calculated based on the sensor data.As shown in FIG. 1 , situation monitor 104 receives sensor data, such assensor data 110A-110C, and is configured to generate a situation score112 based on the received sensor data. Situation monitor 104 maycalculate situation score 112 in any manner, which may take into accountany one or more of sensor data 110A-110C (and/or further sensor data),may weight each received sensor data in any manner, and may combine theoptionally weighted sensor data in any manner (e.g., according to anyequation or formula) to generate situation score 112.

In step 206, behavior of an electronic personal assistant is alteredbased on the calculated situation score. In an embodiment, situationscore 112 is used to alter the behavior of electronic personal assistant106. For example, as shown in FIG. 1 , situation monitor 104 may outputsituation score 112, which may be received by electronic personalassistant 106, and electronic personal assistant 106 may alter itsbehavior (e.g., function/operation) based on the value of situationscore 112. For example, electronic personal assistant 106 may suspend anaction being performed (e.g., stop playing music, stop speaking, stopshowing messages, stop showing video, etc.), may begin an action (e.g.,begin playing music, begin speaking, show a message, show a video,etc.), and/or may alter behavior in another way. Alternatively, asdescribed further below, instead of outputting situation score 112,situation monitor 104 may instead receive and hold the output ofelectronic personal assistant 106 from being provided to the user.

For instance, as shown in FIG. 1 , a user may optionally provide arequest 108 to electronic personal assistant 106 verbally. Request 108is also received by situation monitor 104 through electronic personalassistant 106 (as shown in FIG. 1 ) or is directly received from theuser. Under normal circumstances, electronic personal assistant 106 mayrespond verbally to request 108 with an answer 114. Situation score 112,however, may cause electronic personal assistant 106 to change itsbehavior. In such case, electronic personal assistant 106 may suspendanswer 114 (or other interaction) by not speaking to the user, and/ormay alter its behavior in another way. Suspending answer 114 may last atleast until situation monitor 104 determines electronic personalassistant 106 can resume normal interactions (e.g., the danger haspassed).

Such change in a behavior may be made to avoid distraction to the userwhen the situation is determined, based on a value of situation score112, to require increased attention from the user (e.g., when flying anaircraft during sensed turbulence). Alternatively, the change inbehavior may be the providing of information to the user to aid the userin handling the change in situation (e.g., provide directions to theuser to reduce activity to avoid a heart attack during sensed increasedblood pressure).

Note that situation aware system 100 of FIG. 1 may be configured invarious ways to monitor various types of situations and alter electronicpersonal assistant behavior accordingly. For instance, FIGS. 3-6 showsexample configurations of system 100 for a driving situation. Thesedriving situation examples are provided for purposes of illustration andare not intended to be limiting. The embodiments of FIGS. 3-6 are alsoapplicable to other types of situations mentioned elsewhere herein orotherwise known, as would be apparent to persons skilled in the relevantart(s) from the teachings herein. FIGS. 3-6 are described as follows.

FIG. 3 shows a block diagram of situation aware system 100 implementedin a vehicle 300, according to an example embodiment. Vehicle 300 may bea car, a truck, a train, a watercraft, an aircraft, or other type ofvehicle. As shown in FIG. 3 , each of first-third sensors 102A-102C, adriving situation monitor 302, and electronic personal assistant 106 areimplemented in vehicle 300. Sensors 102A-102C may each be mountedanywhere in or on vehicle 300. Situation monitor 302 is an example ofsituation monitor 104 configured for a driving situation. Situationmonitor 302 and electronic personal assistant 106 may be implemented ina common device or electronics, or may be implemented separately.

For example, FIG. 4 shows a block diagram of system 100 implemented invehicle electronics, according to an example embodiment. As shown inFIG. 4 , vehicle 300 includes one or more vehicle processor circuits 402(e.g., microprocessors, CPUs, etc.) and one or more vehicle memorydevices 404 (e.g., random access memory, read only memory, etc.). 300.Sensors 102A-102C may each be mounted anywhere in or on vehicle 300 ofFIG. 4 . Driving situation monitor 302 and electronic personal assistant106 may be separate applications (or combined in a single application)stored in vehicle memory device(s) 404 and executed by vehicle processorcircuit(s) 402. In such an embodiment, a vehicle user interface (e.g., adashboard-mounted display) may provide access to electronic personalassistant 106 for the driver, and electronic personal assistant 106 maycommunicate with the driver via one or more vehicle-mounted loudspeakersand one or more microphones. Driving situation monitor 302 executed byvehicle processor circuit(s) 402 may monitor sensors 102A-102C, andcommunicate with electronic personal assistant 106 to alter behavior ofelectronic personal assistant 106 according to the embodiments herein.

FIG. 5 shows another vehicle-based embodiment, where system 100 isimplemented partially in a vehicle computer and partially in a mobileuser device 502. Mobile user device 502 is a mobile device that thedriver may transport in and out of vehicle 300. In FIG. 5 , sensors102A-102C may each be mounted anywhere in or on vehicle 300 of FIG. 4 .Driving situation monitor 302 is stored in vehicle memory device(s) 404and executed by vehicle processor circuit(s) 402. Electronic personalassistant 106 is implemented in mobile user device 502, and may interactdirectly with the user via microphone(s) and loudspeaker(r) of mobileuser device 502, or may interact with the user via microphone(s) andloudspeaker(r) of vehicle 300 (e.g., mobile user device 502 maycommunicate with vehicle 300 via a wired or wireless link). Drivingsituation monitor 302 may monitor sensors 102A-102C, and communicatewith mobile user device 502 to alter behavior of electronic personalassistant 106 according to the embodiments herein.

FIG. 6 shows still another vehicle-based embodiment. In FIG. 5 , sensors102A-102C may each be mounted anywhere in or on vehicle 300 of FIG. 4 .Driving situation monitor 302 and electronic personal assistant 106 areimplemented in mobile user device 502. In such an embodiment, a vehicleinterface may interface (e.g., wired or wirelessly) with mobile userdevice 502 to provide access to electronic personal assistant 106 forthe driver, or the driver may communicate directly with electronicpersonal assistant 106. Driving situation monitor 302 in mobile userdevice 502 may receive sensor data from sensors 102A-102C (e.g., via awired and/or wireless interface of vehicle 300) and communicate withelectronic personal assistant 106 internal to mobile user device 502 toalter behavior of electronic personal assistant 106 according to theembodiments herein.

Examples of mobile user device 502 include a mobile computer or mobilecomputing device (e.g., a Microsoft® Surface® device, a personal digitalassistant (PDA), a laptop computer, a notebook computer, a tabletcomputer such as an Apple iPad™, a netbook, etc.), a mobile phone (e.g.,a cell phone, a smart phone such as a Microsoft Windows® phone, an AppleiPhone, a phone implementing the Google® Android™ operating system, aPalm® device, a Blackberry® device, etc.), or a wearable computingdevice (e.g., a smart watch, a head-mounted device including smartglasses such as Google® Glass™, etc.).

Driving situation monitor 302 of FIGS. 3-6 may operate in various waysto perform its functions. For instance, FIG. 7 shows a flowchart 700providing a process for altering the behavior of an electronic personalassistant in a vehicle based on sensing a driving situation, accordingto an example embodiment. Flowchart 700 is described as follows.

Flowchart 700 begins with step 702. In step 702, sensor data regarding adriving situation is received from a plurality of sensors. As describedabove, and as shown in FIGS. 3-6 , sensors 102A-102C sense aspects ofthe driving situation and generate sensor data 110A-110C, respectively,received by driving situation monitor 302. The sensed driving situationtakes place in a driving environment that includes a vehicle carrying anelectronic personal assistant in use by a user. In a driving (or other)situation, a variety of types of sensors may be present.

For example, FIG. 8 shows a block diagram of a plurality of sensors802A-802C for sensing aspects associated with vehicle 300, according toan example embodiment. Sensors 802A-802C are examples of sensors102A-102C. Although three sensors 802A-802C are shown in FIG. 8 , anynumber of sensors, and combination of sensor types may be present. FIG.8 is described with respect to FIG. 9 for purposes of illustration. FIG.9 shows a flowchart 900 providing a process for sensing aspectsassociated with a driving vehicle, according to an example embodiment.In an embodiment, sensors 802A-802C may operate according to flowchart900. Any one or more of the steps of flowchart 900 may be performed inembodiments, in any order. FIG. 8 and flowchart 900 are described asfollows.

In step 902, at least one aspect of the driver is sensed. In anembodiment, sensor 802A is a driver aspect sensor 802A configured tosense aspects of a driver 804 (the person driving vehicle 300). Thesensor data generated by driver aspect sensor 802A may be used to atleast partially determine a driving situation, which accordingly may beused to alter the behavior of an electronic personal assistant of driver804 (e.g., in a mobile user device of driver 804 or integrated intovehicle 300).

Driver aspect sensor 802A may be any type of sensor capable of sensingaspects of driver 804. For example, driver aspect sensor 802A may be aspeech pattern sensor (e.g., microphone(s) coupled with speechrecognition software/hardware) configured to monitor a speech pattern ofdriver 804. The speech pattern sensor may monitor speech of driver 804for long pauses or halts, incomplete sentences, or other indications ofa busy or dangerous traffic situation. In another example, driver aspectsensor 802A may be a facial sensor (e.g., camera(s) directed at the faceof driver 804 coupled with facial recognition software/hardware)configured to monitor a facial expression of driver 804. For example,the facial sensor may monitor the face of driver 804 for a stressed ortense facial expression, or other expression that may indicate a busy ordangerous traffic situation. In another example, driver aspect sensor802A may be a driving behavior sensor (e.g., camera(s) directed at thearms and/or legs of driver 804 coupled with spatial recognitionsoftware/hardware) configured to monitor the driving behavior of driver804. For example, the driving behavior sensor may monitor driver 804 forabrupt steering, acceleration, and/or deceleration that may indicate anavoidance maneuver attempted by driver 804.

In step 904, at least one aspect of the vehicle is sensed. In anembodiment, sensor 802B is a vehicle aspect sensor 802B configured tosense aspects of vehicle 300. The sensor data generated by vehicleaspect sensor 802B may be used to at least partially determine a drivingsituation, which accordingly may be used to alter the behavior of anelectronic personal assistant of driver 804.

Vehicle aspect sensor 802B may be any type of sensor capable of sensingaspects of vehicle 300. For example, vehicle aspect sensor 802A may be avehicle motion monitor sensor, including one or more accelerationsensors, motion sensors, directional sensors, temperature sensors,cameras, etc. For example, vehicle aspect sensor 802A may monitorvehicle 300 for abrupt changes in motion or direction, includingswerving, accelerating, decelerating, sudden stopping, etc., that mayindicate avoidance maneuvers by driver 300, by automatic driving systemsof vehicle 300, and/or a collision.

In step 906, at least one aspect of an environment of the roadway issensed. In an embodiment, sensor 802C is a traffic aspect sensor 802Cconfigured to sense aspects of the traffic surrounding vehicle 300 on aroadway 806. The sensor data generated by traffic aspect sensor 802C maybe used to at least partially determine a driving situation, whichaccordingly may be used to alter the behavior of an electronic personalassistant of driver 804.

Traffic aspect sensor 802C may be any type of sensor capable of sensingaspects of traffic on roadway 806. For example, vehicle aspect sensor802A may be a vehicle/traffic sensor such as a radar dish/antenna, oneor more video cameras, a sonar transmitter/receiver, one or more IR(infrared) cameras, an inertial navigation system, a LIDAR system (e.g.,a laser and photodetector), etc. Traffic aspect sensor 802C may senseother vehicles and/or obstacles on roadway 806, including theirpositions and velocities, to sense possible collisions with vehicle 300,between other vehicles and/or obstacles, etc.

Driving situation monitor 302 (FIGS. 3-6 ) may receive sensor data110A-110C from one or more of driver aspect sensor 802A, vehicle aspectsensor 802B, and/or traffic aspect sensor 802C, in any numbers andcombinations, according to step 702 of flowchart 700 (FIG. 7 ).

Referring back to flowchart 700, in step 704, a driving situation scoreis calculated based on the sensor data. In embodiments, drivingsituation monitor 302 may calculate situation score 112 as a drivingsituation score (e.g., a DSA score) that indicates a real-time traffichazard level. For example, driving situation monitor 302 may beconfigured as shown in FIG. 10 . FIG. 10 shows a block diagram ofsituation monitor 104 of FIG. 1 , according to an example embodiment. Asshown in FIG. 10 , situation monitor 104 may include a situation scorecalculator 1002 and an assistant behavior modifier 1004. In a drivingsituation, situation score calculator 1002 may be configured to performstep 704 to generate a driving situation score. 112 In other situations,situation score calculator 1002 may generate other types of situationscores, as described elsewhere herein, and as would be known to personsskilled in the relevant art(s) from the teachings herein. Situationscore calculator 1002 may generate situation score 112 according to anysuitable value system.

Situation score calculator 1002 may configure a driving situation scorein any manner, including to have a value between two limits, such asbeing in the range of 0 to 1, where 0 indicates no traffic and 1indicates a maximally busy traffic condition. The calculated drivingsituation score may be provided to, or otherwise used to change thebehavior of electronic personal assistant 106.

In embodiments, the driving situation score may be calculated bysituation score calculator 1002 based on the sensor data generated byany one or more of driver aspect sensor 802A, vehicle aspect sensor802B, and/or traffic aspect sensor 802C (and/or further sensor data).Situation score calculator 1002 may calculate situation score 112 in anymanner, including weighting each received sensor data in any manner andcombining the weighted sensor data in any manner (e.g., according to anyequation or formula) to generate situation score 112.

For example, when situation score calculator 1002 implements a generaladditive model, each sensor data input is processed by a function andthe outputs of all functions are added to determine a driving situationscore as, such as shown for Equation 1 below:Score=f1(speech)+f2(facial image)+f3(driving behavior)+f4(vehiclesensors)+f5(traffic)+f6(noise)  Equation 1where:

f1=a function based on speech pattern sensor data,

f2=a function based on facial image sensor data,

f3=a function based on driving behavior sensor data,

f4=a function based on vehicle sensor data,

f5=a function based on traffic sensor data, and

f6=a function based on noise sensor data (e.g., sudden loud noises,etc.).

In embodiments, any one or more of functions f1-f6 may be combined todetermine a driving situation score. In an embodiment, functions f1-f6may each be determined using a training data set, or in other manner Infurther embodiments, situation score calculator 1002 may implement othertechniques for generating situation scores based on sensor data,including multi-dimensional regression algorithms, such as supportvector machines, regression trees, deep neural networks, etc.

In embodiments, situation score 112 may be computed by situation scorecalculator 1002 on a periodic basis, at predetermined times, or upon anyother basis.

Referring back to flowchart 700 (FIG. 7 ), in step 706, behavior of theelectronic personal assistant is altered based on the calculated drivingsituation score. In an embodiment, situation score 112 is used to alterthe behavior of electronic personal assistant 106. For example, as shownin FIGS. 1, 3-6 and 10 , situation monitors 104/302 output situationscore 112. Electronic personal assistant 106 receives and alters itsbehavior (e.g., function/operation) based on the value of situationscore 112. Alternatively, system 100 may be configured as shown in FIG.10 . In FIG. 10 , situation score calculator 1002 may generate situationscore 112, but does not provide situation score 112 directly toelectronic personal assistant 106, but instead provides situation score112 to assistant behavior modifier 1004, which generates a behavioralteration instruction 1012 that is received by electronic personalassistant 106, and instructs electronic personal assistant to alter oneor more behaviors.

In still another embodiment, system 100 may be configured as shown inFIG. 11 . In FIG. 11 , situation monitor 104 does not provide situationscore 112 or behavior alteration instruction 1012 to electronic personalassistant 106. Instead, electronic personal assistant 106 and situationmonitor 104 both receive request 108. Electronic personal assistant 106generates response 114 (e.g., speech intended for the user) based onrequest 108, and response 114 is intercepted by situation monitor 104rather than being provided directly to the user. Situation monitor 104generates a situation score as described herein, and provides response114 to the user if the situation score warrants such passage (e.g.,situation is not dangerous), or suspends providing response 114 to theuser if the situation score warrants such suspension (e.g., situation isdetermined to be dangerous).

Accordingly, based on a received situation score, electronic personalassistant 106 may alter its behavior. In a driving situation embodiment,electronic personal assistant 106 may operate according to FIG. 12 .FIG. 12 shows a flowchart 1200 providing a process for suspending andresuming interactions by an electronic personal assistant based onsensed conditions, according to an example embodiment. Flowchart 1200may be performed during step 706 of flowchart 700 (FIG. 7 ) and isdescribed as follows.

Flowchart 1200 begins with step 1202. In step 1202, interaction by theelectronic personal assistant with the driver is suspended when thedriving situation score satisfies a first predetermined condition toavoid the driver being distracted by the electronic personal assistant.As described above, in embodiments, behavior of electronic personalassistant 106 is altered due to electronic personal assistant 106receiving situation score 112 or behavior alteration instruction 1012,or due to situation monitor 104 withholding response 114 from electronicpersonal assistant 106. Situation score 112 or behavior alterationinstruction 1012 may be configured to cause electronic personalassistant 106 to suspend interactions with the driver, or response 114may be withheld from electronic personal assistant 106 to cause theinteractions to be suspended. This may be performed to avoid distractingthe driver during a busy or dangerous driving situation.

For example, when situation score 112 satisfies a first predeterminedcondition (e.g., has a predetermined relationship with a firstpredetermined threshold value, such as being greater than, equal to, orless than the first predetermined threshold value, which may bedetermined by comparing situation score 112 to the first predeterminedthreshold value), interaction by electronic personal assistant 106 withthe driver is suspended. In an embodiment, assistant behavior modifier1004 may generate behavior alteration instruction 1012 when situationscore 112 has a value greater than a predetermined threshold value. In adriving situation embodiment, the first threshold value may correspondto a threshold level of busy traffic above which the driver's attentionshould be focused on driving. In another embodiment, assistant behaviormodifier 1004 may apply a value of situation score 112 to an instructiontable. The instruction table lists a plurality of behavior alterationinstructions that map to corresponding situation scores/ranges. Abehavior alteration instruction is selected from the instruction tablecorresponding to the value of situation score 112 (e.g., falling into aparticular range corresponding to an instruction), and the selectedinstruction is provided to electronic personal assistant 106. One ormore of the listed instructions may include a suspension ofinteractions. In other embodiments, assistant behavior modifier 1004 maydetermine behavior alteration instructions 1012 in other ways.

In step 1204 of flowchart 1200, interaction by the electronic personalassistant with the driver is resumed when the driving situation scoresatisfies a second condition. In embodiments, situation score 112 orbehavior alteration instruction 1012 may be configured to causeelectronic personal assistant 106 to resume interactions with thedriver, or response 114 may be provided to electronic personal assistant106 by situation monitor 104 to cause interactions to resume. This maybe performed when driving conditions have improved enough tosufficiently reduce concerns about distracting the driver with theinteractions.

For example, when situation score 112 satisfies a second predeterminedcondition (e.g., has a predetermined relationship with a secondpredetermined threshold value, such as being greater than, equal to, isless than the second predetermined threshold value), interaction byelectronic personal assistant 106 with the driver is resumed. In anembodiment, assistant behavior modifier 1004 may generate behavioralteration instruction 1012 when situation score 112 has a value lessthan a second predetermined threshold value. This second threshold valuemay be the same as the first threshold value used to suspendinteractions, or the first and second threshold values may be differentfrom each other (e.g., to provide hysteresis). In a driving situationembodiment, the second threshold value may correspond to a thresholdlevel of busy traffic below which the driver can give some attention toelectronic personal assistant 106. In another embodiment, assistantbehavior modifier 1004 may apply a value of situation score 112 to theabove-described instruction table, which may include entries that enableresumption of interactions, and may extract a corresponding instructionto provide.

As described above, based on situation score 112, electronic personalassistant 106 may suspend performance of any type and number of actions(e.g., stop playing music, stop speaking, stop showing messages, stopshowing video, etc.). Alternatively, based on a situation score,electronic personal assistant 106 may begin an action (e.g., beginplaying music, begin speaking, show a message, show a video, etc.),and/or may alter behavior in another way.

In an embodiment, step 706 of flowchart 700 (FIG. 7 ) may alter behavioraccording to FIG. 13 . FIG. 13 shows a step 1302 for altering behaviorof an electronic personal assistant, according to an example embodiment.Step 1302 is described as follows. In step 1302, at least one ofdelaying at least one of verbal or visual communications with thedriver, providing at least one of verbal or visual assistance to thedriver, or providing a suggestion to the driver are performed.

In embodiments, to prevent distraction to the driver, verbal or visual(e.g., textual, image, etc.) communications by electronic personalassistant 106 with the driver may be delayed or suspended. For example,with respect to FIG. 10 , a speech interface 1006 of electronic personalassistant 106 may receive situation score 112 or behavior alterationinstruction 1012. Speech interface 1006 may be capable of disabling andenabling speech communication by electronic personal assistant 106. Uponreceiving situation score 112 or behavior alteration instruction 1012,speech interface 1006 may disable speech communication by electronicpersonal assistant 106 (until re-enabled by correspondingvalues/instructions of situation score 112 or behavior alterationinstruction 1012).

Furthermore, according to step 1302, in other embodiments, electronicpersonal assistant 106 may provide information to the driver based onsituation score 112 or behavior alteration instruction 1012. Forinstance, based on sensor data regarding the state of the vehicle, acurrent location, and personal information of the driver (e.g., upcomingappointments and events), electronic personal assistant 106 may provideinformation to the driver to advise future planning. For example, if thevehicle is detected by sensors to be low on fuel or to have a mechanicalproblem, electronic personal assistant 106 may suggest a convenientservice station based on the current location, traffic conditions, andthe driver's schedule.

III. Example Mobile and Stationary Device Embodiments

Sensor monitor 104, electronic personal assistant 106, vehicle processorcircuit(s) 402, mobile user device 502, situation score calculator 1002,assistant behavior modifier 1004, speech interface 1006, flowchart 200,flowchart 700, flowchart 1200, and step 1302 may be implemented inhardware, or hardware combined with software and/or firmware. Forexample, sensor monitor 104, electronic personal assistant 106, 402,situation score calculator 1002, assistant behavior modifier 1004,speech interface 1006, flowchart 200, flowchart 700, flowchart 1200,and/or step 1302 may be implemented as computer programcode/instructions configured to be executed in one or more processorsand stored in a computer readable storage medium. Alternatively, sensormonitor 104, electronic personal assistant 106, vehicle processorcircuit(s) 402, mobile user device 502, situation score calculator 1002,assistant behavior modifier 1004, speech interface 1006, flowchart 200,flowchart 700, flowchart 1200, and step 1302 may be implemented ashardware logic/electrical circuitry.

For instance, in an embodiment, one or more, in any combination, ofsensor monitor 104, electronic personal assistant 106, vehicle processorcircuit(s) 402, mobile user device 502, situation score calculator 1002,assistant behavior modifier 1004, speech interface 1006, flowchart 200,flowchart 700, flowchart 1200, and step 1302 may be implemented togetherin a System on a Chip (SoC). The SoC may include an integrated circuitchip that includes one or more of a processor (e.g., a centralprocessing unit (CPU), microcontroller, microprocessor, digital signalprocessor (DSP), etc.), memory, one or more communication interfaces,and/or further circuits, and may optionally execute received programcode and/or include embedded firmware to perform functions.

FIG. 14 depicts an exemplary implementation of a computing device 1400in which embodiments may be implemented. For example, vehicle processorcircuit(s) 402 and mobile user device 502 may each be implemented in oneor more computing devices similar to computing device 1400 in stationaryor mobile computer embodiments, including one or more features ofcomputing device 1400 and/or alternative features. The description ofcomputing device 1400 provided herein is provided for purposes ofillustration, and is not intended to be limiting. Embodiments may beimplemented in further types of computer systems, as would be known topersons skilled in the relevant art(s).

As shown in FIG. 14 , computing device 1400 includes one or moreprocessors, referred to as processor circuit 1402, a system memory 1404,and a bus 1406 that couples various system components including systemmemory 1404 to processor circuit 1402. Processor circuit 1402 is anelectrical and/or optical circuit implemented in one or more physicalhardware electrical circuit device elements and/or integrated circuitdevices (semiconductor material chips or dies) as a central processingunit (CPU), a microcontroller, a microprocessor, and/or other physicalhardware processor circuit. Processor circuit 1402 may execute programcode stored in a computer readable medium, such as program code ofoperating system 1430, application programs 1432, other programs 1434,etc. Bus 1406 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. System memory 1404 includes readonly memory (ROM) 1408 and random access memory (RAM) 1410. A basicinput/output system 1412 (BIOS) is stored in ROM 1408.

Computing device 1400 also has one or more of the following drives: ahard disk drive 1414 for reading from and writing to a hard disk, amagnetic disk drive 1416 for reading from or writing to a removablemagnetic disk 1418, and an optical disk drive 1420 for reading from orwriting to a removable optical disk 1422 such as a CD ROM, DVD ROM, orother optical media. Hard disk drive 1414, magnetic disk drive 1416, andoptical disk drive 1420 are connected to bus 1406 by a hard disk driveinterface 1424, a magnetic disk drive interface 1426, and an opticaldrive interface 1428, respectively. The drives and their associatedcomputer-readable media provide nonvolatile storage of computer-readableinstructions, data structures, program modules and other data for thecomputer. Although a hard disk, a removable magnetic disk and aremovable optical disk are described, other types of hardware-basedcomputer-readable storage media can be used to store data, such as flashmemory cards, digital video disks, RAMs, ROMs, and other hardwarestorage media.

A number of program modules may be stored on the hard disk, magneticdisk, optical disk, ROM, or RAM. These programs include operating system1430, one or more application programs 1432, other programs 1434, andprogram data 1436. Application programs 1432 or other programs 1434 mayinclude, for example, computer program logic (e.g., computer programcode or instructions) for implementing sensor monitor 104, electronicpersonal assistant 106, situation score calculator 1002, assistantbehavior modifier 1004, speech interface 1006, flowchart 200, flowchart700, flowchart 1200, and step 1302 (including any suitable step offlowcharts 200, 700, 1200), and/or further embodiments described herein.

A user may enter commands and information into the computing device 1400through input devices such as keyboard 1438 and pointing device 1440.Other input devices (not shown) may include a microphone, joystick, gamepad, satellite dish, scanner, a touch screen and/or touch pad, a voicerecognition system to receive voice input, a gesture recognition systemto receive gesture input, or the like. These and other input devices areoften connected to processor circuit 1402 through a serial portinterface 1442 that is coupled to bus 1406, but may be connected byother interfaces, such as a parallel port, game port, or a universalserial bus (USB).

A display screen 1444 is also connected to bus 1406 via an interface,such as a video adaptor 1446. Display screen 1444 may be external to, orincorporated in computing device 1400. Display screen 1444 may displayinformation, as well as being a user interface for receiving usercommands and/or other information (e.g., by touch, finger gestures,virtual keyboard, etc.). In addition to display screen 1444, computingdevice 1400 may include other peripheral output devices (not shown) suchas speakers and printers.

Computing device 1400 is connected to a network 1448 (e.g., theInternet) through an adaptor or network interface 1450, a modem 1452, orother means for establishing communications over the network. Modem1452, which may be internal or external, may be connected to bus 1406via serial port interface 1442, as shown in FIG. 14 , or may beconnected to bus 1406 using another interface type, including a parallelinterface.

As used herein, the terms “computer program medium,” “computer-readablemedium,” and “computer-readable storage medium” are used to refer tophysical hardware media such as the hard disk associated with hard diskdrive 1414, removable magnetic disk 1418, removable optical disk 1422,other physical hardware media such as RAMs, ROMs, flash memory cards,digital video disks, zip disks, MEMs, nanotechnology-based storagedevices, and further types of physical/tangible hardware storage media.Such computer-readable storage media are distinguished from andnon-overlapping with communication media (do not include communicationmedia). Communication media embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wireless media such asacoustic, RF, infrared and other wireless media, as well as wired media.Embodiments are also directed to such communication media that areseparate and non-overlapping with embodiments directed tocomputer-readable storage media.

As noted above, computer programs and modules (including applicationprograms 1432 and other programs 1434) may be stored on the hard disk,magnetic disk, optical disk, ROM, RAM, or other hardware storage medium.Such computer programs may also be received via network interface 1450,serial port interface 1442, or any other interface type. Such computerprograms, when executed or loaded by an application, enable computingdevice 1400 to implement features of embodiments discussed herein.Accordingly, such computer programs represent controllers of thecomputing device 1400.

Embodiments are also directed to computer program products comprisingcomputer code or instructions stored on any computer-readable medium.Such computer program products include hard disk drives, optical diskdrives, memory device packages, portable memory sticks, memory cards,and other types of physical storage hardware.

IV. Further Example Embodiments

In one embodiment, a method in at least one computing device comprises:sensing a situation with a plurality of sensors to generate sensor data;calculating a situation score based on the sensor data; and alteringbehavior of an electronic personal assistant based on the calculatedsituation score.

In an embodiment, the situation is a driving situation in which a driverdrives a vehicle on a roadway, said calculating comprising: calculatinga driving situation score based on the sensor data; and said alteringcomprises: altering behavior of the electronic personal assistant basedon the calculated driving situation score.

In an embodiment, the sensing comprises: sensing at least one aspect ofthe driver.

In an embodiment, the sensing comprises: sensing at least one aspect ofthe vehicle.

In an embodiment, the sensing comprises sensing at least one aspect ofan environment of the roadway.

In an embodiment, the altering comprises: suspending interaction by theelectronic personal assistant with the driver on condition that thedriving situation score has a predetermined value to avoid the driverbeing distracted by the electronic personal assistant.

In an embodiment, the suspending interaction comprises: delaying atleast one of verbal or visual communications with the driver.

In an embodiment, the altering comprises: providing at least one ofverbal or visual assistance to the driver.

In another embodiment, at least one computing device comprises: asituation monitor configured to calculate a situation score based onsensor data received from a plurality of sensors sensing a situation;and an electronic personal assistant configured to alter behavior basedon the calculated situation score.

In an embodiment, the situation is a driving situation in which a driverdrives a vehicle on a roadway and the situation monitor includes adriving situation monitor configured to calculate a driving situationscore based on the sensor data.

In an embodiment, the sensors comprise at least one of: a first sensorconfigured to sense at least one aspect of the driver; a second sensorconfigured to sense at least one aspect of the vehicle; or a thirdsensor configured to sense at least one aspect of an environment of theroadway.

In an embodiment, the electronic personal assistant is configured toalter behavior by suspending interaction by the electronic personalassistant with the driver on condition that the driving situation scorehas a predetermined value, thereby avoiding the driver being distractedby the electronic personal assistant.

In an embodiment, the at least one computing device further comprises: amobile user device that implements the driving situation monitor and theelectronic personal assistant.

In an embodiment, the at least one computing device further comprises: amobile user device that implements the electronic personal assistant;and the driving situation monitor is implemented by a processor circuitof the vehicle.

In an embodiment, the at least one computing device further comprises: aprocessor of the vehicle that implements the driving situation monitorand the electronic personal assistant.

In still another embodiment, a computing device comprises: at least oneprocessor circuit; and a memory that stores program code configured tobe executed by the at least one processor circuit to perform operations,the operations including: calculating a situation score based on sensordata received from a plurality of sensors sensing a situation; andcausing a behavior of an electronic personal assistant to be alteredbased on the calculated situation score.

In an embodiment, the situation is a driving situation in which a driverdrives a vehicle on a roadway, said calculating comprising: calculatinga driving situation score based on the sensor data; and said causingcomprises: causing the behavior of the electronic personal assistant tobe altered based on the calculated driving situation score.

In an embodiment, the sensing comprises at least one of: sensing atleast one aspect of the driver; sensing at least one aspect of thevehicle; or sensing at least one aspect of an environment of theroadway.

In an embodiment, the causing comprises: causing the electronic personalassistant to suspend interaction with the driver on condition that thedriving situation score has a predetermined value to avoid the driverbeing distracted by the electronic personal assistant.

In an embodiment, the causing the electronic personal assistant tosuspend interaction with the driver comprises: causing the electronicpersonal assistant to delay at least one of verbal or visualcommunications with the driver.

VI. Conclusion

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. It will be understood by those skilledin the relevant art(s) that various changes in form and details may bemade therein without departing from the spirit and scope of theinvention as defined in the appended claims. Accordingly, the breadthand scope of the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. At least one computing device, comprising: atleast one processor; and a memory that stores program code configured tobe executed by the at least one processor to perform operations, theoperations including: sensing a situation with a plurality of sensors togenerate sensor data; calculating a situation score based on the sensordata; and resuming, by an electronic personal assistant and based on thecalculated situation score having a first predetermined relationshipwith a first threshold, interactions between the electronic personalassistant and a user after the interactions between the electronicpersonal assistant and the user were previously suspended based on asecond threshold different from the first threshold.
 2. The at least onecomputing device of claim 1, wherein said resuming comprises: providing,by the electronic personal assistant, information to a user of the atleast one computing device.
 3. The at least one computing device ofclaim 2, wherein said providing, by the electronic personal assistant,information to a user of the at least one computing device, comprises atleast one of: providing directions to the user; displaying a message tothe user; showing a video to the user; or playing music to the user. 4.The at least one computing device of claim 1, wherein the situation is adriving situation in which a driver drives a vehicle on a roadway, saidcalculating comprising: calculating a driving situation score based onthe sensor data; and said resuming comprises: resuming based on thecalculated driving situation score.
 5. The at least one computing deviceof claim 4, wherein said performing comprises: providing at least one ofverbal or visual assistance to the driver.
 6. The at least one computingdevice of claim 4, wherein said sensing comprises: sensing at least oneaspect of the driver.
 7. The at least one computing device of claim 4,wherein said sensing comprises: sensing at least one aspect of thevehicle.
 8. The at least one computing device of claim 4, wherein saidsensing comprises sensing at least one aspect of an environment of theroadway.
 9. A mobile device, comprising: at least one processor; and amemory that stores program code configured to be executed by the atleast one processor to perform operations, the operations including:receiving sensor data regarding a situation of a vehicle; calculating asituation score based on the sensor data; and transmitting the situationscore to an electronic personal assistant implemented by a computer ofthe vehicle, the electronic personal assistant configured to, based onthe situation score having a first predetermined relationship with afirst threshold, resume interactions with a user after the interactionsbetween the electronic personal assistant and the user were previouslysuspended based on a second threshold different from the firstthreshold.
 10. The mobile device of claim 9, wherein the situation is adriving situation in which a driver drives the vehicle on a roadway,said calculating comprising: calculating a driving situation score basedon the sensor data; and wherein the electronic personal assistant isconfigured to alter a behavior based on the calculated driving situationscore.
 11. The mobile device of claim 10, wherein the electronicpersonal assistant is configured to perform an action on condition thatthe driving situation score has a predetermined value.
 12. The mobiledevice of claim 10, wherein the electronic personal assistant isconfigured to suspend interaction with the driver on condition that thedriving situation score has a predetermined value to avoid the driverbeing distracted by the electronic personal assistant.
 13. The mobiledevice of claim 12, wherein said operations further comprise: receivingadditional sensor data regarding a subsequent situation of the vehicle;calculating a second driving situation score based on the additionalsensor data; and transmitting the second driving situation score to theelectronic personal assistant implemented by the computer of thevehicle, the electronic personal assistant configured to resumeinteractions with the driver based on the second driving situationscore.
 14. The mobile device of claim 10, wherein said calculating adriving situation score based on the sensor data comprises: calculatingthe driving situation score based on at least one of: speech patternsensor data; facial image sensor data; driving behavior sensor data;vehicle sensor data; traffic sensor data; or noise sensor data.
 15. Acomputer implemented in a vehicle, comprising: at least one processorcoupled to a plurality of sensors of the vehicle; and a memory thatstores program code configured to be executed by the at least oneprocessor to perform operations, the operations including: receivingsensor data regarding a situation of the vehicle; calculating asituation score based on the sensor data; and transmitting the situationscore to an electronic personal assistant implemented by a mobiledevice, the electronic personal assistant configured to, based on thesituation score having a first predetermined relationship with a firstthreshold, resume interactions with a user after the interactionsbetween the electronic personal assistant and the user were previouslysuspended based on a second threshold different from the firstthreshold.
 16. The computer of claim 15, wherein the situation is adriving situation in which a driver drives the vehicle on a roadway,said calculating comprising: calculating a driving situation score basedon the sensor data; and wherein the electronic personal assistant isconfigured to alter the behavior based on the calculated drivingsituation score.
 17. The computer of claim 16, wherein the electronicpersonal assistant is configured to perform an action on condition thatthe driving situation score has a predetermined value.
 18. The computerof claim 16, wherein the electronic personal assistant is configured tosuspend interaction with the driver on condition that the drivingsituation score has a predetermined value to avoid the driver beingdistracted by the electronic personal assistant.
 19. The computer ofclaim 16, wherein said operations further comprise: receiving additionalsensor data regarding a subsequent situation of the vehicle; calculatinga second driving situation score based on the additional sensor data;and transmitting the second driving situation score to the electronicpersonal assistant implemented by mobile device, the electronic personalassistant configured to resume interactions with the driver based on thesecond driving situation score.
 20. The computer of claim 16, whereinsaid calculating a driving situation score based on the sensor datacomprises: calculating the driving situation score based on at least oneof: speech pattern sensor data; facial image sensor data; drivingbehavior sensor data; vehicle sensor data; traffic sensor data; or noisesensor data.